Skip to main content

Milvus

Summary

This document covers the information to gather from Milvus in order to configure a Qarbine data service. The data service will use the Qarbine Milvus driver. You can define multiple data services that access the same Milvus endpoint though with varying credentials. Once a data service is defined, you can manage which Qarbine principals have access to it and its associated Milvus data. A Qarbine administrator has visibility to all data services.

The example catalog components use a data service named “Milvus”. To use them, create such a data service with your settings as described below.

Overview

Milvus is an open source vector database for multi-modal AI applications. Qarbine interfaces Milvus Cloud offering. More information can be found at https://milvus.io/.

Milvus Configuration

For Qarbine to access your Milvus Cloud data it needs the endpoint and an API key. Open a web browser to https://cloud.zilliz.com/login.

Sign on to your account.

Click the highlighted tab below.

  

If necessary create a new key by clicking

  

Enter a name

  

Choose the read-only option

  

Click

  

Back on the API key page click the highlighted icon below for the new key

  

Paste the value in a temporary spot for use very soon. The Milvus API key value will be used in the Qarbine server options as

apiKey="yourApiKeyValue"

Qarbine Configuration

Compute Node Preparation

Determine which compute node service endpoint you want to run this data access from. That URL will go into the Data Service’s Compute URL field. Its form is “https://domain:port/dispatch”. A sample is shown below.

  

The port number corresponds to a named service endpoint configured on the given target host. For example, the primary compute node usually is set to have a ‘main’ service. That service’s configuration is defined in the ˜./qarbine.service/config/service.main.json file. Inside that file the following driver entry is required

"drivers" :[

 . . .
"./driver/milvusDriver.js"
]

If you end up adding that entry then restart the service via the general command line syntax

pm2 restart <service>

For example,

pm2 restart main

or simply

pm2 restart all

Data Service Definition

Open the Administration Tool.

Navigate to the Data Services tab.

  

A data service defines on what compute node a query will run by default along with the means to reach to target data. The latter includes which native driver to use along with settings corresponding to that driver. Multiple Data Sources can reference a single Data Service. The details of any one Data Service are thus maintained in one spot and not spread out all over the place in each Data Source. The latter is a maintenance and support nightmare.

Click   .

On the right hand side enter a name and optionally a description.

  

Set the Compute URL field based on the identified compute node above. Its form is “https://domain:port/dispatch”. A sample is shown below.

  

Also choose the “Milvus” driver.

  

The next bit of information needed is the cluster endpoint. Navigate to the project page by clicking the highlighted tab shown below.

  

Click on the desired project.

  

In the clusters table click on the desired cluster’s name.

  

Click the highlighted image below.

  

Paste the clipboard text as the server template value as shown below.

  

The server options contain the API key you copied above and pasted into a temporary location.

  

Test your settings by clicking on the toolbar image highlighted below.

  

The result should be

  

Save the Data Service by clicking on the image highlighted below.

  

The data service will be known at the next log on time. Next, see the Milvus query interaction and any tutorial for information on interacting with Milvus from Qarbine.

NOTE - Some example Milvus components reference the data service named “Milvus”.

Dynamic Vector Determination

Qarbine’s embeddings() macro and”nearText(...)” functions provide for dynamic embedding vector determination using the Qarbine AI Assistant service. There can be multiple AI assistants configured ranging from AWS Bedrock, Anthropic, Google Gemini, Open AI and others. A particular one is referenced using an alias set by the Qarbine Administrator. There may also be multiple one for a particular type (i.e. Anthropic) based on a different model or other parameter.

Qarbine components and tools interacting with vector databases likely benefit from having AI Assistants. For details on configuring them see
http://doc.qarbine.com/docs/Tools/System%20Administrator/ai_Assistant

References

More information can be found at https://milvus.io/.